package cn.dj.basic.listener;

import cn.dj.system.service.IPermissionService;
import org.springframework.beans.factory.annotation.Autowired;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
//配置监听器的注解
@WebListener//有了这个注解还要在APp启动类配置@ServletComponentScan(value = "cn.dj.basic.listener")，要扫描该监听器
public class PermissionScanInitListener implements ServletContextListener {
    @Autowired
    private IPermissionService permissionService;

    //默认方法想实现就实现，不想就不实现
    //需要监听创建上下文对象

    /**
     * 项目一启动调用该方法：上下文对象初始化
     * @param sce
     */
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        //要扫描的内容：
        //扫描我们的自定义注解：获取name和sn
        //扫描每个接口类：1.类上的@RequestMapping  2.每个方法上XxxMappering
//        System.out.println("上下文对象创建成功！！");
        //我们并不是new一个线程，而是借着线程启动去执行一些任务
        new Thread(new Runnable() {
            @Override
            public void run() {
                permissionService.scanPermission();
            }
        }).start();

    }
}
